namespace BanZuiCloudControlAgent.Core.Mqtt.Models
{
    /// <summary>
    /// EMQX消息类型常量
    /// </summary>
    public static class MessageTypeConstants
    {
        /// <summary>
        /// 设备状态上报消息(包含心跳)
        /// </summary>
        public const string STATUS_REPORT = "STATUS_REPORT";

        /// <summary>
        /// 设备配置消息
        /// </summary>
        public const string CONFIG = "CONFIG";

        /// <summary>
        /// 任务下发消息
        /// </summary>
        public const string TASK_DISPATCH = "TASK_DISPATCH";

        /// <summary>
        /// 任务上报消息
        /// </summary>
        public const string TASK_REPORT = "TASK_REPORT";

        /// <summary>
        /// 采集上报消息
        /// </summary>
        public const string COLLECT_REPORT = "COLLECT_REPORT";

        /// <summary>
        /// 错误上报消息
        /// </summary>
        public const string ERROR_REPORT = "ERROR_REPORT";

        /// <summary>
        /// 在线QQ列表上报消息
        /// </summary>
        public const string QQ_ONLINE_REPORT = "QQ_ONLINE_REPORT";

        /// <summary>
        /// 设备断开连接消息
        /// </summary>
        public const string DISCONNECT = "DISCONNECT";
        
        /// <summary>
        /// 更新任务消息
        /// </summary>
        public const string UPDATE_TASK = "UPDATE_TASK";
    }

    /// <summary>
    /// 任务类型常量
    /// </summary>
    public static class TaskTypeConstants
    {
        /// <summary>
        /// 加群任务
        /// </summary>
        public const string ADD_GROUP = "ADD_GROUP";

        /// <summary>
        /// 发送消息任务
        /// </summary>
        public const string SEND_MESSAGE = "SEND_MESSAGE";

        /// <summary>
        /// 邀请好友任务
        /// </summary>
        public const string INVITE_FRIEND = "INVITE_FRIEND";

        /// <summary>
        /// 转发消息任务
        /// </summary>
        public const string FORWARD_MESSAGE = "FORWARD_MESSAGE";
    }

    /// <summary>
    /// 任务状态常量
    /// </summary>
    public static class TaskStatusConstants
    {
        /// <summary>
        /// 待执行
        /// </summary>
        public const string PENDING = "PENDING";

        /// <summary>
        /// 执行中
        /// </summary>
        public const string RUNNING = "RUNNING";

        /// <summary>
        /// 执行成功
        /// </summary>
        public const string SUCCESS = "SUCCESS";

        /// <summary>
        /// 任务暂停
        /// </summary>
        public const string PAUSED = "PAUSED";

        /// <summary>
        /// 执行失败
        /// </summary>
        public const string FAILED = "FAILED";

        /// <summary>
        /// 已取消
        /// </summary>
        public const string CANCELED = "CANCELED";
    }

    /// <summary>
    /// 采集类型常量
    /// </summary>
    public static class CollectTypeConstants
    {
        /// <summary>
        /// 群信息采集
        /// </summary>
        public const string GROUP_INFO = "GROUP_INFO";

        /// <summary>
        /// 好友信息采集
        /// </summary>
        public const string FRIEND_INFO = "FRIEND_INFO";

        /// <summary>
        /// 群成员采集
        /// </summary>
        public const string GROUP_MEMBER = "GROUP_MEMBER";

        /// <summary>
        /// 消息历史采集
        /// </summary>
        public const string MESSAGE_HISTORY = "MESSAGE_HISTORY";
    }

    /// <summary>
    /// 错误类型常量
    /// </summary>
    public static class ErrorTypeConstants
    {
        /// <summary>
        /// 任务执行错误
        /// </summary>
        public const string TASK_ERROR = "TASK_ERROR";

        /// <summary>
        /// 系统错误
        /// </summary>
        public const string SYSTEM_ERROR = "SYSTEM_ERROR";

        /// <summary>
        /// 网络错误
        /// </summary>
        public const string NETWORK_ERROR = "NETWORK_ERROR";

        /// <summary>
        /// 登录错误
        /// </summary>
        public const string LOGIN_ERROR = "LOGIN_ERROR";

        /// <summary>
        /// API调用错误
        /// </summary>
        public const string API_ERROR = "API_ERROR";
    }
} 